<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="text" v-model="search">
        <li v-for="item in newPerson" :key="item.id">{{item.name}}--{{item.age}}</li>
    </div>
    <script>
        new Vue({
            el:'#app',
            data(){
                return{
                    search:'',
                    person:[
                        {id:'001',name:'zhongwang',age:'18'},
                        {id:'001',name:'xiaowang',age:'19'},
                        {id:'001',name:'laowang',age:'17'},
                        {id:'001',name:'xiaohuang',age:'20'},
                    ],
                    newperson:[]
                }
            },
            watch:{
                search:{
                    immediate:true,
                    handler(value){
                       this.newPerson= this.person.filter(item=>{
                            return item.name.includes(value)
                        }).sort((a,b)=>{
                            return a.age-b.age
                        })
                        
                       
                    }
                }
            }
        })
    </script>
</body>
</html>